package tools;

import java.io.UnsupportedEncodingException;

public class Language {

    public static String text = "";

    public static int getlength(String str) {
        int i, t = 0;
        byte[] bt = str.getBytes();
        for (i = 1; i <= bt.length; i++) {
            if (bt[i - 1] < 0) {
                t = t + 2;
                i++;
            } else {
                t = t + 1;
            }
        }
        return t;
    }

    public static int getlength(byte[] str) {
        int i, t = 0;
        byte[] bt = str;
        for (i = 1; i <= bt.length; i++) {
            if (bt[i - 1] < 0) {
                t = t + 2;
                i++;
            } else {
                t = t + 1;
            }
        }
        return t;
    }

    public static String getString(byte[] str) {
        try {
            String txt = new String(str, "MS932");
            return txt;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static byte[] getBytes(String str) {
        try {
            byte[] bytes = str.getBytes("MS932");
            return bytes;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static String LegacyAllReplace(String text) {
        boolean padder = false;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c == '[') {
                padder = true;
                continue;
            }
            if (c == ']') {
                padder = false;
                continue;
            }
            if (padder) {
                text += LegacyDecryptToKanji(text);
            } else {
                text += LegacyDecrypt(text);
            }

        }
        return text;
    }

    public static String LegacyDecrypt(String str) {
        return (str.replace("nn", "ん").replace("wo", "を").replace("wwa", "っわ").replace("wa", "わ").replace("kkya", "っきゃ").replace("kkyi", "っきぃ").replace("kkyu", "っきゅ").replace("kkye", "っきぇ").replace("kkyo", "っきょ").replace("kya", "きゃ").replace("kyi", "きぃ").replace("kyu", "きゅ").replace("kye", "きぇ").replace("kyo", "きょ").replace("wi", "うぃ").replace("wu", "う").replace("we", "うぇ").replace("fa", "ふぁ").replace("fi", "ふぃ").replace("fu", "ふ").replace("fe", "ふぇ").replace("fo", "ふぉ").replace("fya", "ふぁ").replace("fyi", "ふぃ").replace("fyu", "ふ").replace("fye", "ふぇ").replace("fyo", "ふぉ").replace("ffa", "っふぁ").replace("ffi", "っふぃ").replace("ffu", "っふ").replace("ffe", "っふぇ").replace("ffo", "っふぉ").replace("ffya", "っふぁ").replace("ffyi", "っふぃ").replace("ffyu", "っふ").replace("ffye", "っふぇ").replace("ffyo", "っふぉ").replace("ccha", "っちゃ").replace("cchi", "っち").replace("cchu", "っちゅ").replace("cche", "っちぇ").replace("ccho", "っちょ").replace("cha", "ちゃ").replace("che", "ちぇ").replace("chu", "ちゅ").replace("cho", "ちょ").replace("tha", "てゃ").replace("thu", "てゅ").replace("the", "てぇ").replace("tho", "てょ").replace("kka", "っか").replace("kki", "っき").replace("kku", "っく").replace("kke", "っけ").replace("kko", "っこ").replace("ssa", "っさ").replace("ssi", "っし").replace("sshi", "っし").replace("ssu", "っす").replace("sse", "っせ").replace("sso", "っそ").replace("tta", "った").replace("tti", "っち").replace("cchi", "っち").replace("ttu", "っつ").replace("tte", "って").replace("tto", "っと").replace("hha", "っは").replace("hhi", "っひ").replace("hhu", "っふ").replace("ffu", "っふ").replace("hhe", "っへ").replace("hho", "っほ").replace("mma", "っま").replace("mmi", "っみ").replace("mmu", "っむ").replace("mme", "っめ").replace("mmo", "っも").replace("yya", "っや").replace("yyi", "っい").replace("yyu", "っゆ").replace("yye", "っいぇ").replace("yyo", "っよ").replace("rra", "っら").replace("rri", "っり").replace("rru", "っる").replace("rre", "っれ").replace("rro", "っろ").replace("wwi", "っうぃ").replace("wwu", "っう").replace("wwe", "っうぇ").replace("wwo", "っを").replace("ssya", "っしゃ").replace("ssha", "っしゃ").replace("ssyi", "っしぃ").replace("ssyu", "っしゅ").replace("ssye", "っしぇ").replace("sshe", "っしぇ").replace("ssyo", "っしょ").replace("ssho", "っしょ").replace("ttya", "っちゃ").replace("ttyi", "っちぃ").replace("cchi", "っち").replace("ttyu", "っちゅ").replace("cchu", "っちゅ").replace("ttye", "っちぇ").replace("ttyo", "っちょ").replace("ccho", "っちょ").replace("nnya", "っにゃ").replace("nnyi", "っにぃ").replace("nnyu", "っにゅ").replace("nnye", "っにぇ").replace("nnyo", "っにょ").replace("hhya", "っひゃ").replace("hhyi", "っひぃ").replace("hhyu", "っひゅ").replace("hhye", "っひぇ").replace("hhyo", "っひょ").replace("mmya", "っみゃ").replace("mmyi", "っみぃ").replace("mmyu", "っみゅ").replace("mmye", "っみぇ").replace("mmyo", "っみょ").replace("rrya", "っりゃ").replace("rryi", "っりぃ").replace("rryu", "っりゅ").replace("rrye", "っりぇ").replace("rryo", "っりょ").replace("ggya", "っぎゃ").replace("ggyi", "っぎぃ").replace("ggyu", "っぎゅ").replace("ggye", "っぎぇ").replace("ggyo", "っぎょ").replace("gga", "っが").replace("ggi", "っぎ").replace("ggu", "っぐ").replace("gge", "っげ").replace("ggo", "っご").replace("ddya", "っぢゃ").replace("ddyi", "っぢぃ").replace("ddyu", "っぢゅ").replace("ddye", "っぢぇ").replace("ddyo", "っぢょ").replace("zzya", "っじゃ").replace("zzyi", "っじぃ").replace("zzyu", "っじゅ").replace("zzye", "っじぇ").replace("zzyo", "っじょ").replace("ppya", "っぴゃ").replace("ppyi", "っぴぃ").replace("ppyu", "っぴゅ").replace("ppye", "っぴぇ").replace("ppyo", "っぴょ").replace("bbya", "っびゃ").replace("bbyi", "っびぃ").replace("bbyu", "っびゅ").replace("bbye", "っびぇ").replace("bbyo", "っびょ").replace("dya", "ぢゃ").replace("dyi", "ぢぃ").replace("dyu", "ぢゅ").replace("dye", "ぢぇ").replace("dyo", "ぢょ").replace("zya", "じゃ").replace("zyi", "じぃ").replace("zyu", "じゅ").replace("zye", "じぇ").replace("zyo", "じょ").replace("pya", "ぴゃ").replace("pyi", "ぴぃ").replace("pyu", "ぴゅ").replace("pye", "ぴぇ").replace("pyo", "ぴょ").replace("bya", "びゃ").replace("byi", "びぃ").replace("byu", "びゅ").replace("bye", "びぇ").replace("byo", "びょ").replace("pya", "ぴゃ").replace("pyi", "ぴぃ").replace("pyu", "ぴゅ").replace("pye", "ぴぇ").replace("pyo", "ぴょ").replace("sya", "しゃ").replace("sha", "しゃ").replace("syi", "しぃ").replace("syu", "しゅ").replace("sye", "しぇ").replace("she", "しぇ").replace("syo", "しょ").replace("sho", "しょ").replace("jya", "っじゃ").replace("ja", "じゃ").replace("ju", "じゅ").replace("jyu", "じゅ").replace("je", "じぇ").replace("jye", "じぇ").replace("jo", "じょ").replace("jyo", "じょ").replace("jjya", "っじゃ").replace("jja", "っじゃ").replace("jju", "っじゅ").replace("jjyu", "っじゅ").replace("jje", "っじぇ").replace("jjye", "っじぇ").replace("jjo", "っじょ").replace("jjyo", "っじょ").replace("tya", "ちゃ").replace("cha", "ちゃ").replace("tyi", "ちぃ").replace("chi", "ち").replace("tyu", "ちゅ").replace("chu", "ちゅ").replace("tye", "ちぇ").replace("tyo", "ちょ").replace("cho", "ちょ").replace("nya", "にゃ").replace("nyi", "にぃ").replace("nyu", "にゅ").replace("nye", "にぇ").replace("nyo", "にょ").replace("hya", "ひゃ").replace("hyi", "ひぃ").replace("hyu", "ひゅ").replace("hye", "ひぇ").replace("hyo", "ひょ").replace("mya", "みゃ").replace("myi", "みぃ").replace("myu", "みゅ").replace("mye", "みぇ").replace("myo", "みょ").replace("rya", "りゃ").replace("ryi", "りぃ").replace("ryu", "りゅ").replace("rye", "りぇ").replace("ryo", "りょ").replace("gya", "ぎゃ").replace("gya", "ぎゃ").replace("gyi", "ぎぃ").replace("gyu", "ぎゅ").replace("gye", "ぎぇ").replace("gyo", "ぎょ").replace("la", "ぁ").replace("li", "ぃ").replace("lu", "ぅ").replace("le", "ぇ").replace("lo", "ぉ").replace("lka", "ヵ").replace("lke", "ヶ").replace("ltu", "っ").replace("lwa", "ゎ").replace("lya", "ゃ").replace("lyu", "ゅ").replace("lyo", "ょ").replace("xa", "ぁ").replace("xi", "ぃ").replace("xu", "ぅ").replace("xe", "ぇ").replace("xo", "ぉ").replace("xka", "ヵ").replace("xke", "ヶ").replace("xtu", "っ").replace("xwa", "ゎ").replace("xya", "ゃ").replace("xyu", "ゅ").replace("xyo", "ょ").replace("qa", "くぁ").replace("qi", "くぃ").replace("qu", "く").replace("qe", "くぇ").replace("qo", "くぉ").replace("qya", "くゃ").replace("qyi", "くぃ").replace("qyu", "くゅ").replace("qye", "くぇ").replace("qyo", "くょ").replace("qqa", "っくぁ").replace("qqi", "っくぃ").replace("qqu", "っく").replace("qqe", "っくぇ").replace("qqo", "っくぉ").replace("qqya", "っくゃ").replace("qqyi", "っくぃ").replace("qqyu", "っくゅ").replace("qqye", "っくぇ").replace("qqyo", "っくょ").replace("ppa", "っぱ").replace("ppi", "っぴ").replace("ppu", "っぷ").replace("ppe", "っぺ").replace("ppo", "っぽ").replace("zza", "っざ").replace("zzi", "っじ").replace("zzu", "っず").replace("zze", "っぜ").replace("zzo", "っぞ").replace("pa", "ぱ").replace("pi", "ぴ").replace("pu", "ぷ").replace("pe", "ぺ").replace("po", "ぽ").replace("ba", "ば").replace("bi", "び").replace("bu", "ぶ").replace("be", "べ").replace("bo", "ぼ").replace("dda", "っだ").replace("ddi", "っぢ").replace("ddu", "っづ").replace("dde", "っで").replace("ddo", "っど").replace("da", "だ").replace("di", "ぢ").replace("du", "づ").replace("de", "で").replace("do", "ど").replace("za", "ざ").replace("zi", "じ").replace("ji", "じ").replace("zu", "ず").replace("ze", "ぜ").replace("zo", "ぞ").replace("ga", "が").replace("gi", "ぎ").replace("gu", "ぐ").replace("ge", "げ").replace("go", "ご").replace("ra", "ら").replace("ri", "り").replace("ru", "る").replace("re", "れ").replace("ro", "ろ").replace("ya", "や").replace("yi", "い").replace("yu", "ゆ").replace("ye", "いぇ").replace("yo", "よ").replace("ma", "ま").replace("mi", "み").replace("mu", "む").replace("me", "め").replace("mo", "も").replace("ha", "は").replace("shi", "し").replace("hi", "ひ").replace("hu", "ふ").replace("he", "へ").replace("ho", "ほ").replace("na", "な").replace("ni", "に").replace("nu", "ぬ").replace("ne", "ね").replace("no", "の").replace("ta", "た").replace("ti", "ち").replace("chi", "ち").replace("tu", "つ").replace("te", "て").replace("to", "と").replace("sa", "さ").replace("si", "し").replace("su", "す").replace("se", "せ").replace("so", "そ").replace("ka", "か").replace("ki", "き").replace("ku", "く").replace("ke", "け").replace("ko", "こ").replace("va", "ヴぁ").replace("vi", "ヴぃ").replace("vu", "ヴ").replace("ve", "ヴぇ").replace("vo", "ヴぉ").replace("a", "あ").replace("i", "い").replace("u", "う").replace("e", "え").replace("o", "お").replace("-", "ー").replace("?", "？").replace("n", "ん").replace("/", "／").replace("\\", "＼").replace(",", "、").replace("w", "ｗ").replace(" ", "　").replace("#え", "#e").replace("#ん", "#n"));
    }

    public static String LegacyDecryptToKanji(String str) {
        return str.replace("わたし", "私").replace("せんし", "戦士").replace("かっちゅうむしゃ", "甲冑武者").replace("かっちゅう", "甲冑").replace("とのさま", "殿様").replace("にんたい", "忍耐").replace("まほうつかい", "魔法使い").replace("とうぞく", "盗賊").replace("かいぞく", "海賊").replace("ゆみつかい", "弓使い").replace("さいきょう", "最強").replace("あした", "明日").replace("けいべつ", "軽蔑").replace("もんだい", "問題").replace("だいすき", "大好き").replace("あいして", "愛して").replace("きらい", "嫌い").replace("よわい", "弱い").replace("つよい", "強い").replace("ざこ", "雑魚").replace("やきゅう", "野球").replace("げんいん", "原因").replace("かぶき", "歌舞伎").replace("ぶき", "武器").replace("ぼうぐ", "防具").replace("ぼうし", "帽子").replace("かぶと", "兜").replace("ぶそう", "武装").replace("ゆびわ", "指輪").replace("ほたて", "帆立").replace("かたて", "片手").replace("りょうて", "両手").replace("たて", "盾").replace("すうがく", "数学").replace("こくご", "国語").replace("しゃかい", "社会").replace("ていねいご", "丁寧語").replace("けんじょうご", "謙譲語").replace("けいご", "敬語").replace("えいご", "英語").replace("かていか", "家庭科").replace("じゅぎょう", "授業").replace("りっぷく", "立腹").replace("けしま", "消しま").replace("けそう", "消そう").replace("あたま", "頭").replace("あねご", "姉御").replace("おやぶん", "親分").replace("がっこう", "学校").replace("ほっかいどう", "北海道").replace("みほん", "見本").replace("うんえいしゃ", "運営者").replace("こうちく", "構築").replace("けんさく", "検索").replace("かえでじょう", "楓城").replace("てんしゅかく", "天守閣").replace("わらい", "笑い").replace("わらえる", "笑える").replace("わらえない", "笑えない").replace("しつもん", "質問").replace("ろてん", "露店").replace("こうにゅう", "購入").replace("こんど", "今度").replace("さくら", "桜").replace("まいおちる", "舞い落ちる").replace("てんごく", "天国").replace("じごく", "地獄").replace("じっこう", "実行").replace("ひょうじ", "表示").replace("かんりしゃ", "管理者").replace("かんり", "管理").replace("りゆう", "理由").replace("つかれ", "疲れ").replace("わかる", "分かる").replace("りゆう", "理由").replace("いっしょ", "一緒").replace("しゅりけん", "手裏剣").replace("おねがい", "お願い").replace("こうげき", "攻撃").replace("ぼうぎょ", "防御").replace("にんとう", "忍頭").replace("しょうかりょうらん", "昇華繚乱").replace("おもいます", "思います").replace("にんきど", "人気度").replace("にんき", "人気").replace("にほんご", "日本語").replace("すごく", "凄く").replace("むずかしい", "難しい").replace("むずかし", "難し").replace("ぼうふう", "暴風").replace("かくせいき", "拡声器").replace("ももまめ", "桃豆").replace("しのびがしら", "忍頭").replace("にんとう", "忍頭");
    }

    public static String LegacyDecryptToKatakana(String str) {
        return str.replace("だめーじ", "ダメージ").replace("ふりーまーけっと", "フリーマーケット").replace("もんすたーれいど", "モンスターレイド").replace("もんすたーるーぷ", "モンスターループ").replace("もんすたーれいどそろ", "モンスターレイドソロ").replace("とうきょう", "トウキョウ").replace("めいぷるすとーりー", "メイプルストーリー").replace("めいぷる", "メイプル").replace("めいぽ", "メイポ").replace("えみゅれーたー", "エミュレーター").replace("えみゅ", "エミュ").replace("すぱいらる", "スパイラル").replace("すれいやー", "スレイヤー").replace("ぎるどくえすと", "ギルドクエスト").replace("ぎるど", "ギルド").replace("しゃれにあん", "シャレニアン").replace("あいてむ", "アイテム").replace("もんすたー", "モンスター").replace("いべんと", "イベント").replace("ぼす", "ボス").replace("すれっど", "スレッド").replace("さーばー", "サーバー").replace("てすと", "テスト").replace("ちーと", "チート").replace("れたす", "レタス").replace("りせっと", "リセット").replace("まくどなるど", "マクドナルド").replace("まくど", "マクド").replace("まっく", "マック").replace("めーる", "メール").replace("きゃんぺーん", "キャンペーン").replace("あっぷでーと", "アップデート").replace("めんてなんす", "メンテナンス").replace("めんて", "メンテ").replace("どろっぷ", "ドロップ").replace("おりじなる", "オリジナル").replace("まっぷ", "マップ").replace("ばぐ", "バグ").replace("だうんろーど", "ダウンロード").replace("ふるくらいあんと", "フルクライアント").replace("ふるくら", "フルクラ").replace("しすてむ", "システム").replace("クライアント", "クライアント").replace("ショップ", "ショップ").replace("ねくそん", "ネクソン").replace("しゃんくす", "シャンクス").replace("コーディ", "コーディ").replace("すてーたす", "ステータス").replace("すきる", "スキル").replace("こまんど", "コマンド").replace("きゃらくたー", "キャラクター").replace("ぱーてぃー", "パーティー").replace("ぐるーぷ", "グループ").replace("げーむますたー", "ゲームマスター") /*
                 * スキル系
                 */.replace("めいぷるいんてんしょん", "メイプルインテンション").replace("めいぷるひーろー", "メイプルヒーロー").replace("あヴぇんじゃー", "アヴェンジャー").replace("ふらっしゅじゃんぷ", "フラッシュジャンプ").replace("とりぷるすろー", "トリプルスロー").replace("べのむ", "ベノム").replace("すとれいふ", "ストレイフ").replace("ぶりざーど", "ブリザード").replace("じぇねしす", "ジェネシス").replace("めてお", "メテオ").replace("いんふぃにてぃ", "インフィニティ") /*
                 * 職業系
                 */.replace("ふぁいたー", "ファイター").replace("まじしゃん", "マジシャン").replace("あーちゃー", "アーチャー").replace("ろーぐ", "ローグ").replace("そーどまん", "ソードマン").replace("ぺーじ", "ページ").replace("すぴあまん", "スピアマン").replace("くるせいだー", "クルセイダー").replace("どらごんないと", "ドラゴンナイト").replace("ひーろー", "ヒーロー").replace("ぱらでぃん", "パラディン").replace("だーくないと", "ダークナイト").replace("くれりっく", "クレリック").replace("うぃざーど", "ウィザード").replace("めいじ", "メイジ").replace("ぷりーすと", "プリースト").replace("あーくめいじ", "アークメイジ").replace("びしょっぷ", "ビショップ").replace("くろすぼうまん", "クロスボウマン").replace("はんたー", "ハンター").replace("れんじゃー", "レンジャー").replace("すないぱー", "スナイパー").replace("ぼうますたー", "ボウマスター").replace("くろすぼうますたー", "クロスボウマスター").replace("あさしん", "アサシン").replace("ますたーしーふ", "マスターシーフ").replace("しーふ", "シーフ").replace("はーみっと", "ハーミット").replace("ないとろーど", "ナイトロード").replace("しゃどう", "シャドウ").replace("いんふぁいたー", "インファイター").replace("がんすりるがー", "ガンスリンガー").replace("ばっかにあ", "バッカニア").replace("ばいぱー", "バイパー").replace("ヴぁいぎんぐ", "ヴァイキング").replace("きゃぷてん", "キャプテン") /*
                 * 町系
                 */.replace("へねしす", "ヘネシス").replace("ぺりおん", "ペリオン").replace("えりにあ", "エリニア").replace("のーちらす", "ノーチラス").replace("かにんぐしてぃー", "カニングシティー").replace("かにんぐ", "かにんぐ").replace("おるびす", "オルビス").replace("るでぃぶりあむ", "ルディブリアム").replace("るでぃ", "ルディ").replace("えるなす", "エルナス").replace("りぷれ", "リプレ").replace("ありあんと", "アリアント").replace("まがてぃあ", "マガティア").replace("あくあろーど", "アクアロード").replace("あくありうむ", "アクアリウム").replace("じぱんぐ", "ジパング").replace("しょーわ", "ショーワ").replace("くりむぞん", "クリムゾン").replace("", "") /*
                 * モンスター系
                 */.replace("あふたーへーべんあぽすとろ", "アフターへーベンアポストロ").replace("あふたーへーべん", "アフターへーべン").replace("ろいやるがーど", "ロイヤルガード").replace("らいか", "ライカ").replace("とど", "トド").replace("りーりのふ", "リーリノフ").replace("でんでん", "デンデン").replace("すらいむ", "スライム").replace("すたんぷ", "スタンプ").replace("りぼんぴぐ", "リボンピグ").replace("ぴぐ", "ピグ").replace("めいぷるきのこ", "メイプルキノコ").replace("ぴかちゅう", "ピカチュウ").replace("じゃくむ", "ジャクム").replace("わるめんぼう", "ワルメンボウ").replace("わるめん", "ワルメン").replace("びしゃす", "ビシャス").replace("れっどどらごん", "レッドドラゴン").replace("ぐりふぉん", "グリフォン").replace("れヴぃあたん", "レヴィアタン").replace("まーヴぇりっく", "マーヴェリック").replace("にーべるんぐ", "ニーベルング").replace("でゅなす", "デュナス").replace("おーばーろーど", "オーバーロード").replace("ぱぱしゅ", "パパシュ").replace("まましゅ", "ママシュ").replace("ぞんび", "ゾンビ").replace("そろもん", "ソロモン").replace("れっくす", "レックス").replace("ふぃぎん", "フィギン").replace("むにん", "ムニン").replace("こあぶれいず", "コアブレイズ").replace("ぱぱふぃくし", "パパフィクシ").replace("まーがな", "マーガナ").replace("れっどにーぐ", "レッドニーグ").replace("れりっく", "レリック").replace("さーふ", "サーフ").replace("ぴんくびーん", "ピンクビーン").replace("ほーんている", "ホーンテイル").replace("れじぇんど", "レジェンド");
    }
}